id: gitlab/pages
title: Get started with Pages
description: "GitLab Pages lets you deploy static websites in minutes. All you
 need is a .gitlab-ci.yml file. Follow the below steps to
    create one for your app now."
steps:
  - inputs:
      - label: Select your build image
        description: A Docker image that we can use to build your image
        placeholder: node:lts
        widget: text
        target: $BUILD_IMAGE
        required: true
        pattern: "(?:[a-z]+/)?([a-z]+)(?::[0-9]+)?"
        invalid-feedback: Please enter a valid docker image
      - widget: checklist
        title: "Before we begin, please check:"
        items:
          - text: The app's built output files are in a folder named "public"
            help: GitLab Pages will only publish files in that folder.
                  You may need to adjust your build engine's config.
    template:
      # The Docker image that will be used to build your app
      image: $BUILD_IMAGE
  - inputs:
      - label: Installation Steps
        description: "Enter the steps that need to run to set up a local build
          environment, for example installing dependencies."
        placeholder: npm ci
        widget: list
        target: $INSTALLATION_STEPS
    template:
      # Functions that should be executed before the build script is run
      before_script: $INSTALLATION_STEPS
  - inputs:
      - label: Build Steps
        description: "Enter the steps necessary to build a production version of
          your application."
        widget: list
        target: $BUILD_STEPS
    template:

      pages:
        script: $BUILD_STEPS

        artifacts:
          paths:
            # The folder that contains the files to be exposed at the Page URL
            - public

        rules:
          # This ensures that only pushes to the default branch will trigger
          # a pages deploy
          - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
